package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 pws_table
 * 
 * @author ruoyi
 * @date 2025-02-05
 */
@Data
@Api(tags = "PwsTable对象", description = "PwsTable对象")
public class PwsTable
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty(value = "订单号")
    private String orderNo;

    /** 产品编号 */
    @Excel(name = "产品编号")
    @ApiModelProperty(value = "产品编号")
    private String matlNo;

    /** 产品名称 */
    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String matlDes;

    /** 批次号 */
    @Excel(name = "批次号")
    @ApiModelProperty(value = "批次号")
    private String batchNo;

    /** 产品总量 */
    @Excel(name = "产品总量")
    @ApiModelProperty(value = "产品总量")
    private BigDecimal qty;

    /** 订单类型 */
    @Excel(name = "订单类型")
    @ApiModelProperty(value = "订单类型")
    private String orderType;

    /** 产品版本 */
    @Excel(name = "产品版本")
    @ApiModelProperty(value = "产品版本")
    private String productionVersion;

    /** 配方号 */
    @Excel(name = "配方号")
    @ApiModelProperty(value = "配方号")
    private String recipeNo;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "配方号")
    private String bomAlt;

    /** 上批批号 */
    @Excel(name = "上批批号")
    @ApiModelProperty(value = "上批批号")
    private String lastbatchNo;

    /** 上批日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("上批日期")
    @Excel(name = "上批日期", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime lastbatchDate;

    /** 上批产品版本 */
    @Excel(name = "上批产品版本")
    @ApiModelProperty(value = "上批产品版本")
    private String lastprodVer;

    /** 计划生产开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划生产开始日期")
    @Excel(name = "计划生产开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderStartDate;

    /** 计划生产结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划生产结束日期")
    @Excel(name = "计划生产结束日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderEndDate;

    /** mrp产品类型 */
    @Excel(name = "mrp产品类型")
    @ApiModelProperty(value = "mrp产品类型")
    private String mrp;

    /** 下发到生产线 */
    @Excel(name = "下发到生产线")
    @ApiModelProperty(value = "下发到生产线")
    private Integer lineId;

    /** 预混开始生产时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("预混开始生产时间")
    @Excel(name = "预混开始生产时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime startTime;

    /** 预混结束生产时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("调稀结束时间")
    @Excel(name = "预混结束生产时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime endTime;

    /** 调稀开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("调稀开始时间")
    @Excel(name = "调稀开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime aftermixStart;

    /** 调稀结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("调稀结束时间")
    @Excel(name = "调稀结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime aftermixEnd;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "工作组")
    private String workedBy;

    /** $column.columnComment */

    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "生产人员")
    private String specialInstruction;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "备注")
    private String salesNotes;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "储罐号")
    private String tankNo;

    @Excel(name = "创建时间")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @Excel(name = "修改时间")
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "update_time",fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;
    @ApiModelProperty(value = "是否删除")
    private int isDel;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setMatlNo(String matlNo) 
    {
        this.matlNo = matlNo;
    }

    public String getMatlNo() 
    {
        return matlNo;
    }
    public void setMatlDes(String matlDes) 
    {
        this.matlDes = matlDes;
    }

    public String getMatlDes() 
    {
        return matlDes;
    }
    public void setBatchNo(String batchNo) 
    {
        this.batchNo = batchNo;
    }

    public String getBatchNo() 
    {
        return batchNo;
    }
    public void setQty(BigDecimal qty) 
    {
        this.qty = qty;
    }

    public BigDecimal getQty() 
    {
        return qty;
    }
    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }
    public void setProductionVersion(String productionVersion) 
    {
        this.productionVersion = productionVersion;
    }

    public String getProductionVersion() 
    {
        return productionVersion;
    }
    public void setRecipeNo(String recipeNo) 
    {
        this.recipeNo = recipeNo;
    }

    public String getRecipeNo() 
    {
        return recipeNo;
    }
    public void setBomAlt(String bomAlt) 
    {
        this.bomAlt = bomAlt;
    }

    public String getBomAlt() 
    {
        return bomAlt;
    }
    public void setLastbatchNo(String lastbatchNo) 
    {
        this.lastbatchNo = lastbatchNo;
    }

    public String getLastbatchNo() 
    {
        return lastbatchNo;
    }
    public void setLastbatchDate(LocalDateTime lastbatchDate)
    {
        this.lastbatchDate = lastbatchDate;
    }

    public LocalDateTime getLastbatchDate()
    {
        return lastbatchDate;
    }
    public void setLastprodVer(String lastprodVer) 
    {
        this.lastprodVer = lastprodVer;
    }

    public String getLastprodVer() 
    {
        return lastprodVer;
    }
    public void setOrderStartDate(LocalDateTime orderStartDate)
    {
        this.orderStartDate = orderStartDate;
    }

    public LocalDateTime getOrderStartDate()
    {
        return orderStartDate;
    }
    public void setOrderEndDate(LocalDateTime orderEndDate)
    {
        this.orderEndDate = orderEndDate;
    }

    public LocalDateTime getOrderEndDate()
    {
        return orderEndDate;
    }
    public void setMrp(String mrp) 
    {
        this.mrp = mrp;
    }

    public String getMrp() 
    {
        return mrp;
    }
    public void setLineId(Integer lineId) 
    {
        this.lineId = lineId;
    }

    public Integer getLineId() 
    {
        return lineId;
    }
    public void setStartTime(LocalDateTime startTime)
    {
        this.startTime = startTime;
    }

    public LocalDateTime getStartTime()
    {
        return startTime;
    }
    public void setEndTime(LocalDateTime endTime)
    {
        this.endTime = endTime;
    }

    public LocalDateTime getEndTime()
    {
        return endTime;
    }
    public void setAftermixStart(LocalDateTime aftermixStart)
    {
        this.aftermixStart = aftermixStart;
    }

    public LocalDateTime getAftermixStart()
    {
        return aftermixStart;
    }
    public void setAftermixEnd(LocalDateTime aftermixEnd)
    {
        this.aftermixEnd = aftermixEnd;
    }

    public LocalDateTime getAftermixEnd()
    {
        return aftermixEnd;
    }
    public void setWorkedBy(String workedBy) 
    {
        this.workedBy = workedBy;
    }

    public String getWorkedBy() 
    {
        return workedBy;
    }
    public void setSpecialInstruction(String specialInstruction) 
    {
        this.specialInstruction = specialInstruction;
    }

    public String getSpecialInstruction() 
    {
        return specialInstruction;
    }
    public void setSalesNotes(String salesNotes) 
    {
        this.salesNotes = salesNotes;
    }

    public String getSalesNotes() 
    {
        return salesNotes;
    }
    public void setTankNo(String tankNo) 
    {
        this.tankNo = tankNo;
    }

    public String getTankNo() 
    {
        return tankNo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("matlNo", getMatlNo())
            .append("matlDes", getMatlDes())
            .append("batchNo", getBatchNo())
            .append("qty", getQty())
            .append("orderType", getOrderType())
            .append("productionVersion", getProductionVersion())
            .append("recipeNo", getRecipeNo())
            .append("bomAlt", getBomAlt())
            .append("lastbatchNo", getLastbatchNo())
            .append("lastbatchDate", getLastbatchDate())
            .append("lastprodVer", getLastprodVer())
            .append("orderStartDate", getOrderStartDate())
            .append("orderEndDate", getOrderEndDate())
            .append("mrp", getMrp())
            .append("lineId", getLineId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("aftermixStart", getAftermixStart())
            .append("aftermixEnd", getAftermixEnd())
            .append("workedBy", getWorkedBy())
            .append("specialInstruction", getSpecialInstruction())
            .append("salesNotes", getSalesNotes())
            .append("tankNo", getTankNo())
            .toString();
    }
}
